package com.jams.goodox.adapter.lfadapter;

import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.SparseArray;
import android.util.TypedValue;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.jams.goodox.R;
import com.jams.goodox.activity.qa.GlideCircleTransform;

/**
 * Created by HP on 2018/5/12.
 */

public class LFRecyclerViewHolder extends RecyclerView.ViewHolder {
    private SparseArray<View> arrayView;
    public LFRecyclerViewHolder(View itemView) {
        super(itemView);
        arrayView = new SparseArray<>();
    }

    /**
     * 通过填写的itemId来获取具体的View的对象
     * @param itemId  R.id.***
     * @param <T> 必须是View的子类
     * @return
     */
    public <T extends View> T getView(int itemId){
        //arrayVie类似于Map容器，get(key)取出的是value值
        View mView = arrayView.get(itemId);
        if(mView == null){
            //实例化具体的View类型
            mView = itemView.findViewById(itemId);
            arrayView.put(itemId,mView);
        }
        return (T) mView;
    }

    /**
     * 设置TextView的内容
     * @param itemId
     * @param text
     */
    public void setText(int itemId,String text){
        TextView tv = getView(itemId);
        tv.setText(text);
    }

    public void setTextSize(int itemId,int size){
        TextView tv = getView(itemId);
        tv.setTextSize(TypedValue.COMPLEX_UNIT_DIP,size);
    }

    //设置字体颜色
    public void setTextColor(int itemId,int color){
        TextView tv = getView(itemId);
        tv.setTextColor(color);
    }


    public void setVisible(int itemId,boolean visible){
        getView(itemId).setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
    }

    /**
     * 设置图片
     * @param itemId
     * @param imageId
     */
    public void setBitmapImage(int itemId,int imageId){
        ImageView iv = getView(itemId);
        iv.setImageResource(imageId);
    }


    public void loadImage(int imageId,String url){
        ImageView iv = getView(imageId);
        if(!TextUtils.isEmpty(url)){
            Glide.with(itemView.getContext()).load(url)
                    .placeholder(R.drawable.loading) //占位符 也就是加载中的图片，可放个gif
                    .error(R.mipmap.morentouxiang60) //失败图片
                    .bitmapTransform(new GlideCircleTransform(itemView.getContext())).crossFade(1000).into(iv);
        }else {
            Glide.with(itemView.getContext()).load(R.mipmap.ic_launcher)
                    .placeholder(R.drawable.loading) //占位符 也就是加载中的图片，可放个gif
                    .error(R.mipmap.morentouxiang60) //失败图片
                    .bitmapTransform(new GlideCircleTransform(itemView.getContext())).crossFade(1000).into(iv);
        }
    }

    /**
     * 设置点击事件
     */
    public void setClickListerner(int itemId,View.OnClickListener clickListerner){

        getView(itemId).setOnClickListener(clickListerner);

    }



}
